1. Field of the Invention
The present invention relates to a system, method, and program for analyzing proposed interface ports to a device and, in particular, to a storage controller that controls access to an Input/Output (I/O) device.
2. Description of the Related Art
Host computer systems may perform input/output (I/O) operations against a storage unit, such as a Direct Access Storage Device (DASD), which is comprised of numerous interconnected hard disk drives (HDDs) that form a single mass storage space. In such systems, a storage controller, also referred to as a control unit, manages input/output (I/O) operations between the host systems and the DASD. Examples of control units include the International Business Machines (xe2x80x9cIBMxe2x80x9d) Enterprise Storage Server, described in the publication xe2x80x9cIBM Enterprise Storage Server: Introduction and Planning Guidexe2x80x9d, IBM document no. GC26-7294-02 (IBM Copyright, November 1999) and the IBM 3990 Storage Controller, described in IBM publication, xe2x80x9cIBM 3990 Storage Control Reference (Models 1, 2, and 3), IBM document no. GA32-0099-06 (Copyright IBM Corp. 1988, 1994), which publications are incorporated herein by reference in its entirety.
The hosts include a channel subsystem that directs the flow of data between the host main storage and the storage controllers. In current implementations, each host may have up to 256 channels. Each channel is identified by a channel path identifier (CHPID). A channel comprises a host adaptor into which a cable is connected that leads directly to an interface port on the storage controller or a port in a switch that links to the storage controller. A channel path comprises the physical connection from a host adaptor to a port on a switch, such as an ESCON director, and the connection from another port on the same switch to an interface port in the control unit. In current implementations, a channel path in the host may be dynamically assigned to one physical path comprising the connection links from the host adaptor to the switch port, and then from another port on the same switch to the interface port in the control unit. The commonly assigned and co-pending U.S. patent application No. 09/407,544, entitled xe2x80x9cMethod, System, and Program Products for Managing I/O Configurations of a Computing Environmentxe2x80x9d filed on Sep. 28, 1999 by P. B. Yocom, H. M. Yudenfriend, W. J. Rooney, Richard Cwiakala, which patent is incorporated herein by reference in its entirety, describes an architecture for allowing the dynamic assignment of channel paths in the host to different physical paths from the host to the control unit.
The above patent mentions that one goal of dynamically assigning host channel paths to a physical path is to find the path assignment for a channel path that provides the best availability, i.e., avoids any single point of failures. For this reason, there is a need in the art to determine the availability of the storage controller resources to use in determining the most highly available interface to the storage controller.
To determine the availability of storage controller resources, preferred embodiments disclose a system, method, and program for analyzing proposed interface ports to a device. For each proposed interface port, a determination is made of a number of single points of failure for the proposed interface port in common with interface ports currently used to access the device. For each proposed interface port, a determination is made of a relative availability rating based on the number of single points of failure for each proposed interface port.
In further embodiments, determining the number of single points of failure further comprises reading failure boundary data from the device indicating at least one failure boundary of a proposed interface to the device. Further, determining the relative availability rating based on the single points of failure comprises comparing the failure boundary of the proposed interface with failure boundary data indicating at least one failure boundary of existing interfaces to the device.
In still further embodiments, at least one mask is applied to the failure boundary data for the proposed interface and existing interfaces to determine at least one failure boundary for the proposed interface and existing interfaces. The determined at least one failure boundary for the proposed and existing interfaces is compared to determine the availability rating.
In yet further embodiments, there are a plurality of failure boundaries in the device. A failure of a higher order failure boundary for one interface would cause the failure of all lower order failure boundaries for the interface and wherein the failure of a lower order failure boundary for one interface would not cause the failure of all higher order failure boundaries in the interface. In such case, determining the availability rating comprises increasing the availability rating for each failure boundary whenever the failure boundary value for the proposed interface and one existing interface match. A higher relative availability rating indicates that the proposed interface has more single points of failure than other proposed interfaces.
Preferred embodiments provide a technique for determining the relative availability of proposed interfaces to a device, such as a control unit, using data made available from the device indicating failure boundaries of the proposed interface. The failure boundaries would comprise specified points of failure and repair in the control unit that may or may not affect the operation of other components. For instance, in control unit implementations, the failure and repair boundaries may comprise a power cluster, an I/O bay within the cluster, and an interface card within the I/O bay. For instance, a cluster can be taken off-line for repair or as a result of a failure without affecting the I/O bays and interface cards in other clusters and an I/O bay can be taken off-line without affecting interface cards in other I/O bays. Preferred embodiments determine the availability for different interfaces to the control unit by considering whether the failure and repair boundaries of the proposed interface match the failure and repair boundaries of existing interfaces to the control units that are already used by a channel path in the host.
Control unit implementations provide descriptive data that can be used by a host to determine service and power boundaries for the different proposed interfaces to the device that can be used when determining which interface to the device to select for the next channel to add to a host. This consideration of the availability index of the interface may or may not be considered with the availability for upstream components, such as any switches and host adaptors in determining which path to select for the host.